package com.atbeijing.bigdata.spark.core.rdd.operator.action

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Spark01_Oper_Action {

    def main(args: Array[String]): Unit = {

        val conf = new SparkConf().setMaster("local[*]").setAppName("ActionOperator")
        val sc = new SparkContext(conf)

        // TODO 算子 - 行动

        // TODO map
        val rdd : RDD[Int] = sc.makeRDD(List(1,2,3,4),2)
        val rdd1 = rdd.map(
            num => {
                //println(num)
                num
            }
        )
        // 所谓的行动算子，其实就是用于触发RDD运行的方法
        val ints: Array[Int] = rdd1.collect()
        ints.foreach(println)  // 串行打印
        println("*******************************s")
        rdd1.foreach(println) // 并行打印

        sc.stop()

    }
}
